در این قسمت از وبسایت پرووید دوره آموزش متنی و رایگان Node.js را به شما معرفی می کنیم. Node.js یک محیط اجرا و یا runtime environment است که به صورت open-source و برای سمت سرور پیادهسازی شده است. محیط اجرای Node.js سوار بر موتور V8 مربوط به JavaScript پیاده سازی گردیده است. محیط اجرای Node.js یک محیط مبتنی بر رویداد و یا اصطلاحاً event driven که به صورت non-blocking و یا asynchronous و البته cross-platform عمل میکند را در اختیار ما قرار میدهد. با استفاده از محیط اجرای Node.js میتوانیم اپلیکیشن های server-side مقیاس پذیر را با استفاده از زبان JavaScript پیاده سازی کنیم.
Node.js چیست؟
Node.js یک JavaScript Runtime است که به صورت Event Driven و همچنین Asynchronous و به منظور ساختن Network Application های مقیاس پذیر و یا Scalable ایجاد گردیده است. با استفاده از Node.js به راحتی می توان اپلیکیشن هایی را ایجاد کرد که در آنها کانکشن های متعددی به صورت هم روند مدیریت بشوند. در زمان ایجاد هر کانکشن یک Callback صدا زده شده و اگر کار دیگری برای انجام دادن وجود نداشته باشد Node.js در حالت Sleep قرار خواهد گرفت. در مقایسه با مکانیسم هایی که در سیستم عامل های امروزی برای پیاده سازی چند نخی و یا Multi-threading پیاده سازی می شوند، استفاده کردن از Node.js به مراتب ساده تر و همچنین کارآمد تر میباشد. مدل های پیاده سازی هم روندی در سیستم عامل ها از مفهوم Thread استفاده می کنند. پیاده سازی عملیات مبتنی بر شبکه با استفاده از Thread ها اغلب از کارایی کمی برخوردار میباشند. علاوه بر این، موضوعات کاربرانی که از Node.js استفاده می کنند، نیازی نیست که نگران موضوعاتی از قبیل بن بست و یا Dead Lock باشند.

دلیل این موضوع نیز در این است که در محیط Node.js هیچ قفل و یا Lock خاصی پیاده سازی نشده است. تقریباً هیچ تابعی در Node.js به صورت مستقیم عملیات IO را انجام نمی دهد و بنابراین فرایندها هیچ وقت دچار بن بست نمی شوند. از آنجایی که هیچ چیز در Node.js هیچگاه Block نمی شود، سیستم های مقیاس پذیر میتوانند به سادگی در Node.js پیاده سازی بشوند.
در Node.js از مفهوم Event Loop به عنوان یک Runtime استفاده می شود. طراحی Node.js تا حدودی شبیه سیستم های Ruby و Event Machine آن و همچنین سیستم Python و مدل Twister آن می باشد. البته مدل موجود در Node.js کمی از این مدلها گسترده تر و قابلیتهای بیشتری را دارد. در بسیاری از سیستمهای مشابه همواره یک Blocking Call برای آغاز به کار کردن یک Event Loop لحاظ می گردد. به طور معمول در این نوع سیستم ها Behavior و یا رفتار استفاده از Callback ها و در ابتدا یک اسکریپت تعریف میگردد. این در حالی است که در Node.js هیچ گونه روالی برای استارت کردن یک Event Loop وجود ندارد. Node.js به سادگی وارد یک Event Loop می شود و این کار را پس از اجرا کردن Input Script مربوطه انجام می دهد. پس از اینکه تمامی Callback ها اجرا گردیدند و هیچ Callback دیگری برای اجرا شدن وجود نداشته باشد، Node.js از Event Loop خارج میشود. این روال کمی شبیه به جاوا اسکریپت مربوط به مرورگر است.
مخاطبین این دوره آموزشی
تمامی برنامه نویسانی که قصد یادگیری مفاهیم مربوط به Nod.js را دارند میتوانند از این دوره آموزشی استفاده کنند. توسعه دهندگان وب که از Nod.js به عنوان back end استفاده میکنند، میتوانند با یادگیری مباحث مطرح شده در این آموزش متنی، مهارت های خود را تکمیل کنند. در کنار این آموزش متنی رایگان، توصیه میکنیم که از آموزش شروع به کار با نود جی اس Node.js دیدن بفرمایید.
پیش نیازها
به منظور استفاده هر چه بهتر از مطالب مربوط به این دوره آموزشی می بایست دانش کافی در زبان HTML و JavaScript داشته باشید. به منظور انجام این کار می توانید از آموزش HTML5 و طراحی وب و آموزش جاوا اسکریپت و طراحی وب سایت پرووید استفاده کنید. علاوه بر این دانش کلی در رابطه با روند توسعه وب اپلیکیشن ها نیز برای درک هرچه بهتر مطالب مطرح شده در این دوره آموزشی میتوانند بسیار مفید باشند. در پایان نیز توصیه می کنیم از آموزش شروع به کار با نود جی اس Node.js استفاده کنید.
برنامه تحصیلی
- 1 Section
- 25 Lessons
- مدت
- 25
- 2.1Node.js چیست؟
- 2.2بررسی مدل پردازش در Node.js
- 2.3راه اندازی محیط توسعه با Node.js
- 2.4بررسی Node.js Console و یا REPL
- 2.5شروع برنامه نویسی با Node.js
- 2.6بررسی ماژول ها (Module) در Node.js
- 2.7بررسی Local Module ها در Node.js
- 2.8بررسی Module.Exports در Node.js
- 2.9بررسی Node Package Manager
- 2.10ایجاد کردن یک وب سرور با استفاده از Node.js
- 2.11بررسی فایل سیستم در Node.js
- 2.12اشکال زدایی (Debug کردن) اپلیکیشن های Node.js
- 2.13استفاده از ابزار Node Inspector برای رفع خطا از برنامههای Node.js
- 2.14استفاده کردن از EventEmitter در Node.js
- 2.15بررسی فریم ورک های مربوط به Node.js
- 2.16بررسی فریم ورک Express.js
- 2.17ایجاد کردن یک وب اپلیکیشن با استفاده از Express.js
- 2.18سرو کردن Static Resource ها در Node.js
- 2.19بررسی دسترسی به داده ها (Data Access) در Node.js
- 2.20دسترسی به بانک اطلاعاتی SQL Server در Node.js
- 2.21اتصال به دیتابیس MongoDB در Node.js
- 2.22بررسی Template Engine های مربوط به Node.js
- 2.23بررسی کردن Jade Template Engine در Node.js
- 2.24بررسی کردن موتور Vash Template در Node.js
- 2.25بررسی GruntJS در Node.js
دیدگاهها
0